package problema044;

import java.util.LinkedList;
import java.util.List;

public class PentagonNumbers {
	
	static int dif = Integer.MAX_VALUE;
	
	static List<Integer> list = new LinkedList<Integer>();
	
	public static void main(String[] args){
		System.out.println(pentagonDif());
	}
	
	public static int pentagonDif(){
		generarConj();
		for(int i = 0; i < 3000; i++){
			for(int j = 0; j < i; j++){
				if(cumplen(list.get(i), list.get(j))){
					if(Math.abs(list.get(i) - list.get(j)) < dif){
						dif = Math.abs(list.get(i) - list.get(j));
					}		
				}
			}
		}
		return dif;
	}
	
	public static boolean cumplen(int i , int j){
		int suma = i + j, resta = i - j;
		return list.contains(suma) && list.contains(resta);		
	}
	
	
	public static void generarConj(){
		double act = 0;
		for(int i = 1; i <= 5000; i++){
			act = (i * ((3 * i) - 1)) /2;
			list.add((int)act);
		}
	}

}
